package com.study.yygh.task.scheduled;

import com.study.common.rabbit.constant.MqConst;
import com.study.common.rabbit.service.RabbitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
@EnableScheduling // 开启定时任务操作
public class ScheduledTask {

    @Autowired
    private RabbitService rabbitService;

    /**
     * 每天8点执行 提醒就诊
     * cron表达式，设置执行间隔
     */
    //@Scheduled(cron = "0 0 8 * * ?")
    @Scheduled(cron = "0/30 * * * * ?")
    public void task1() {
        rabbitService.sendMessage(MqConst.EXCHANGE_DIRECT_TASK, MqConst.ROUTING_TASK_8, "");
    }
}
/**
 * task模块一旦启动 每隔三十秒执行task1方法，使用rabbitmq发送消息
 * 发送EXCHANGE_DIRECT_TASK消息，service_order模块中receiver包中OrderReceiver类是一个监听器
 * 监听到这个消息，QUEUE_TASK_8，也就会调用patientTips方法，然后调用service层的方法patientTips
 * 然后这个方法会查询当天的就诊人订单，查询没有取消预约的，并发送短信
 */
